Ladybird adopts Rust, with help from AI - Ladybird
Ladybird adopts Rust, with help from AI - Ladybird
Ladybird
における
C++
から
Rust
への段階的移行方針
Rust
採用理由
メモリ安全性
と
エコシステム成熟度
の優位性
C++
互換性維持]を前提とした現実的選択
Firefox
Chromium
など既存
ブラウザ
での
Rust
導入実績
LibJS
の
Rust
移植
Lexer
、
Parser
、
AST
、
Bytecode Generator
など自己完結的
コンポーネント
を対象
test262
による広範な
テストカバレッジ
Claude Code
Codex
を用いた
人間主導型翻訳プロセス
移植プロセス
の特徴
数百単位の
小規模プロンプト
による段階的移植
アドバーサリアルレビュー
による
誤り検出
と
品質向上
C++
版と
Rust
版の
AST
、
Bytecode
の
完全一致
を
要件
とする
設計
成果
約25,000行の
Rust
コード
2週間で完了した
移植
作業
test262
,
Ladybird Regression Tests
で
0件
の
リグレッション
JS
ベンチマーク
における性能劣化なし
Lockstep Mode
による実
ブラウジング
検証
コード品質
に関する見解
初期段階では
C++
構造を模倣した
非イディオマティック
な
Rust
C++
パイプライン
廃止後に
最適化
と
簡素化
を予定
今後の方針
C++
による開発継続と
Rust
移植の並行進行
Interop Boundary
を明確化した
共存アーキテクチャ
移植対象
と
順序
は
コアチーム
が管理
外部貢献者
は
事前調整
を推奨